diff -Naur tetrinet-0.11/tetrinet.c tetrinet-0.11.patched/tetrinet.c
--- tetrinet-0.11/tetrinet.c	2003-09-07 12:29:29.000000000 -0400
+++ tetrinet-0.11.patched/tetrinet.c	2020-11-21 00:43:40.956809377 -0500
@@ -688,6 +688,18 @@
 	else
 	    timeout = -1;
 	i = io->wait_for_input(timeout);
+
+/* 20201121 bkw: make the Tab key cycle between windows. It's 2020
+   and we *still* can't get F-keys working in all terminals. */
+	if(i == 9) {
+		if(dispmode == MODE_FIELDS)
+			i = K_F2;
+		else if(dispmode == MODE_PARTYLINE)
+			i = K_F3;
+		else
+			i = K_F1;
+	}
+
 	if (i == -1) {
 	    char buf[1024];
 	    if (sgets(buf, sizeof(buf), server_sock))
diff -Naur tetrinet-0.11/tty.c tetrinet-0.11.patched/tty.c
--- tetrinet-0.11/tty.c	2003-09-11 16:26:53.000000000 -0400
+++ tetrinet-0.11.patched/tty.c	2020-11-21 00:46:25.038794461 -0500
@@ -534,7 +534,7 @@
 	    hline(MY_HLINE2, scrwidth);
 	    attrset(MY_BOLD);
 	    move(scrheight-1, 0);
-	    addstr("F1=Show Fields  F2=Partyline  F3=Winlist");
+	    addstr("F1=Show Fields  F2=Partyline  F3=Winlist  Tab=Next Window");
 	    move(scrheight-1, scrwidth-8);
 	    addstr("F10=Quit");
 	    attrset(A_NORMAL);
@@ -978,7 +978,7 @@
     hline(MY_HLINE2, scrwidth);
     attrset(MY_BOLD);
     move(scrheight-1, 0);
-    addstr("F1=Show Fields  F2=Partyline  F3=Winlist");
+    addstr("F1=Show Fields  F2=Partyline  F3=Winlist  Tab=Next Window");
     move(scrheight-1, scrwidth-8);
     addstr("F10=Quit");
     attrset(A_NORMAL);
@@ -1057,7 +1057,7 @@
     hline(MY_HLINE2, scrwidth);
     attrset(MY_BOLD);
     move(scrheight-1, 0);
-    addstr("F1=Show Fields  F2=Partyline  F3=Winlist");
+    addstr("F1=Show Fields  F2=Partyline  F3=Winlist  Tab=Next Window");
     move(scrheight-1, scrwidth-8);
     addstr("F10=Quit");
     attrset(A_NORMAL);
